在这里记录自己所学,每日更新,警醒自己别为懒惰找借口了,以前的就以周为单位了,中间有一段学的比较杂有点记不清了,从今天起以日为单位更新。
第一周(2020.7.16-2020.7.19):csapp及其lab
第二周(2020.7.19-2020.7.26):csapp及其lab
第三周(2020.7.26-2020.8.02):csapp
-
csapp:看到第九章的系统级IO
-
csapp-lab:proxy lab
未完成
第四周(2020.8.02-2020.8.09):ucore
-
ucore-lab:lab1到lab2
lab1:
启动操作系统的bootloader,操作系统如何加载到内存
第十周-今天(2020.10.11-2020.10.20):Android:
2020.10.22:Buu RE和Android基础-广播机制结束,CSAPP-系统级IO填坑开始
- [BUU RE]
做了几个简单的RE,CrackRTF,JustRE,Youngter-drive。
-
Android-广播机制:Android-广播机制
-
CSAPP-系统级IO:今天开了个头。
2020.10.23:Buu RE和计算机网络物理层学习,Glibc_TLS开了个头,因为明天和后天两场比赛就早点睡了,另外今天满课,思政课电脑没电了,头大,学的确实少了点,emmmm
- [BUU RE]
做了几个简单的RE,[ACTF新生赛2020]easyre,相册
2020.10.24-25:byteCTF 和 护网杯
- [Byte CTF]
尝试了几个re,我只能说。。。。自己太垃圾了,一心想做安卓,也没看老本行pwn,安卓做不出,抱歉。。。。
- [护网杯]
这个真的是被带躺着进线下的,Byte实在做不动,就看了这个,复现了一个pwn....菜逼哭泣。。
2020.10.26:android基础-数据存储,Java-IO数据流操作
-
android基础-数据存储:学了数据存储里面的文件存储技术。
-
Java-IO:因为之前看java依赖于C++的意识和一点JAVA基础,但是觉得JAVA本身的语言安全特性也很重要,所以打算趁着学安卓也顺便把Java好好学一下(汗,越学觉得自己不会的越多)
2020.10.27:android基础-数据存储,buu-re
-
android基础-数据存储:学了数据存储里面的SharedPreferences存储技术。
-
[buu-re] 做了几个Exe的re,因为可能要当成例子进行讲解,自己先过一遍。
2020.10.28:AndroidSecurity-classloader相关,学了操作系统第四版(教材没办法),进程管理部分。
-
AndroidSecurity-脱壳1:学习了Android里面的class loader相关的机制,和一些插件开发的基础
-
[buu-re] 做了几个Exe的re。
-
操作系统第四版-进程管理:操作系统进程管理相关
2020.10.29:Buu-Re,还办了点业务,今天真是没学啥东西,哭了。
-
[buu-re] 做了1个Exe的re。
2020.10.30:Buu-Re,办了点业务,学了计算机网络数据链路层,加油。
-
[buu-re] 做了1个Exe的re。
-
计算机网络-数据链路层:今天数据链路层开了头。
2020.10.31:一整天的CTF 全国高校联盟的CTF
2020.11.01:湖湘杯CTF
-
[湖湘杯CTF] 其实这大三少有的打一整天的ctf,也差不多是大三的最后一个线上赛了,以后短时间内应该不回参加线上赛了,还剩护网杯和网鼎杯两个线下,CTF生涯就先画上个句号吧,因为要好好充电补充知识,希望自己大三下可以找一个好实习,不想待学校了,嘤嘤嘤。
2020.11.02:日常Buu-re,为的是练习逆向能力,填坑Glibc-TLS,看了pthread的部分源码,理解了线程栈的分配和一些数据结构,如tcb和struct pthread , 原来cannay在pthread结构体里面也有记录,之前倒是没注意到。
-
[buu-re] 做了2个很水的re。
-
Glibc_TLS:TLS填坑ing。
2020.11.04-5:全用来冲南京护网杯了,打的最累的一次。。。
- [护网杯]
2020.11.06:一上午高铁,下午看pthread源码补充Glibc_TLS,计算机网络学习了一波数据链路层,里面的CRC校验算是一个重点,晚上搞了C++-string类的逆向
-
C++逆向-string:搞了搞string类,学到了。
-
Glibc_TLS:TLS填坑ing。
-
计算机网络-数据链路层:今天数据链路层重点研究了其协议相关的三个基本问题:封装成帧,透明传输,差错检测(CRC校验是重点)。
2020.11.07:庆贺Glibc_TLS完结撒花,国赛题目多线程解题思路完成撒花。
- Glibc_TLS:TLS完结撒花。
2020.11.08:了解java反射,C++Primer第二章完结,第三章vector结束,看了下android脱壳中加壳程序所处位置。
- java反射:简单了解java反射,因为在安卓安全加壳部分要经常用到。
- C++Primer第三章:第二章今天完结,第三章看到了vector.
- 加壳APP运行流程和ClassLoader修正: 这一点刚刚开始,因为不太了解java反射,跑过去看了看。
2020.11.09:上午丢过来一个动态迷宫题目,看了看,然后冲了C++Primer第三章,第四章,搞了点系统IO
- C++Primer第三章:第三章完结撒花。
- C++Primer第四章: 第四章完结撒花,这一章跟C有很多冲突,所以挺快的。
- csapp-系统级IO: 晚上好累啊,看的好慢,哭了。
2020.11.10:C++冲冲冲,STL冲冲冲
-
C++Primer第五章:第五章完结,底层学完回来学C++真的得心应手。
-
C++Primer第六章: 函数还没搞完。
-
JAVA-web:今天的javaweb课,怎么说全看java了,哈哈
2020.11.11:C++冲冲冲,系统级IO,RIO包健壮读,文件元数据,读文件目录,文件共享和IO重定向
-
C++Primer第六章: 完结撒花。
-
CSAPP-系统级IO: RIO包健壮读,无缓冲区读就是调用系统调用直接读到目标区域,有缓冲区的就是,先调用系统调用把缓冲区读满,同时用一个结构体对缓冲区进行解释和标记,来方便用户直接从缓冲区拿数据,减少了系统调用,至于文件元数据其实就是v-node的很多文件信息,读取目录差别就在于返回的是指向目录流(directory stream)的指针,共享文件的话,主要是依赖于文件表其实是共享的,每个进程的文件描述符表里面的表项都可以指过去。重定向的话就在于
dup2
函数了,理解共享文件之后理解这个不难。
2020.11.12:主要就是复习了操作系统SHELL-LAB,觉得之前有忽视的点,然后复习了一下操作系统异常处理
-
CSAPP-SHELL-LAB: 撸源码撸源码。
-
CSAPP-异常处理: 异常处理进阶一波。
2020.11.13:星期五,课最多的一天,课外学习量明显下降,搞了搞计网PPP协议
-
计算机网络-数据链路层:PPP协议,协议组成,PPP协议帧格式,其工作流程
2020.11.14:呜呜呜,更新了MACOS,新系统直接把VM禁了,晚上发现不能用vm开始了为期一天的修电脑之旅,搞了计网实验,和操作系统异常
-
CSAPP-异常处理: 异常处理进阶一波。
2020.11.15:修MACOS bug 搞了一天失败了,只能买正版pd了
-
修理MAC OS,电脑差点只能送售后。。。
2020.11.16-17:异常处理,复习CSAPP-shell lab
- CSAPP-异常处理: 异常处理进阶一波。
- CSAPP-SHELL-LAB: 因为老师布置了一个shell实验,但是那个太简单了,就找了这个难一点的复习一下。
2020.11.18:异常处理,搞了下操作系统进程互斥
- CSAPP-异常处理: 异常处理课后习题都ccc。
- 进程互斥: 进程互斥,生产者消费者实验
2020.11.19:操作系统信号量实现进程互斥,生产者消费者问题,做了做操作系统异常实验。收获满满。
- 计算机操作系统-第四版-进程管理: 实现进程互斥的几种方式,信号量机制中的整形信号量,AND型信号量,记录型信号量,信号量集,管程机制,
- CSAPP-异常处理: 异常处理实验。
2020.11.20:操作系统信号量阻塞机制,信号量处理程序编写问题,研究信号量不能排队等待的问题,搞了搞条件竞争漏洞,收获满满,计算机网络,还跟考研的学长交流了半天。
- 计算机网络-数据链路层:没看啥。。。跟考研学长交流了。。。
- CSAPP-异常处理: 信号量引发的竞争问题,阻塞机制,操作系统默认阻塞和显示阻塞,解决不排队等待问题就是在一个信号处理程序里面尽可能的多做,(就比如实验里面,尽可能多的回收子进程),感觉编写问题最重要的就是
erron
在信号处理程序里面可能变化,所以在信号处理程序里面进行保存和还原,还有就是用volatile声明全局变量,这用来告诉编译器不要缓存这个变量
,sig_atomic_t声明标志,C提供了该整形数据结构,对它的读和写都是原子性的不可以被中断。
。
2020.11.21:操作系统异常完结,做了所有的测试代码和习题,收获满满,SHELL-lab基本搞定,就差几个信号处理程序,觉得最重要的部分就是job的管理和调度,信号量的阻塞利用的真是完美。
- CSAPP-ShelLlab:总结shell-lab
- CSAPP-异常处理: 完结撒花,里面很多习题和测试代码都超赞,也算是对竞争漏洞有了更深刻的认识。
2020.11.22:回家了,陪陪父母,顺便摸鱼。
- 陪伴
2020.11.23:完结了昨天剩下的信号量处理程序,做了操作系统的进程互斥实验,熟悉了PV操作。
- Linux操作系统进程互斥实验:其核心是利用共享内存区域,和自己创建的信号量组,进而可以利用
semop
函数来实现PV操作,进而实现进程互斥访问共享内存区域。
2020.11.24:去三甲医院搞了核酸检测,因为要去网鼎杯,同时理解学习了,Linux信号量集以及共享区段的原理和使用配合来实现进程互斥。
- 核酸检测
2020.11.25:Android学习继续走起,这几天家里事情真多,进度好慢。
- android基础-数据存储:学了数据存储里面的Sqlite存储技术。
2020.11.26:网鼎杯
- 出发去深圳网鼎杯:在路上的和准备比赛的一天。
2020.11.27:网鼎杯正式开始,晚上搞了点安卓。
- 深圳网鼎杯:打了一天,累死了,Orz,学到了许多骚姿势。
- Android基础-跨程序共享数据-内容提供器: 搞了点安卓。
2020.11.28:网鼎杯结束,跟着队友和领队深圳摸鱼享乐。。
- 深圳网鼎杯:享乐,Orz。
2020.11.29-30:29,深圳最后一天和哥哥见面了,30一整天在路上,Orz, 回学校一定要把时间补回来。
- 深圳网鼎杯:一路倒霉,Orz。
2020.12.01,终于回到了学校,搞了搞安卓的APP之间的数据共享
- Android基础-跨程序共享数据-内容提供器: 内容提供器,需要注意的点就是
URI
的内容形式和普通形式,它帮助实现跨程序共享数据,还有一个点就是Manifest.xml
里面的权限控制。
2020.12.02,一个Buu逆向,A&T汇编,gcc内联形式学习,C++学习,Ucore基础学习。
- [buu-re] 做了1个Exe的re。
- Ucore-Gcc内联汇编:Ucore里面用到的汇编形式,但是觉得遇到的越来越多了就不逃避了。
- Ucore-Lab1基础补充:之前Ucore实验指导书没好好看,亏大了。
- C++-Primer-第七章类:补充C++,C++STL一定要冲起来。
2020.12.03,一个Buu逆向,Ucore-lab1知识点复习,C++类相关学习,Android开发看了通知的一些内容。
- [buu-re] 做了1个Exe的re。
- Ucore-Lab1基础:主要就是分段机制和MBR/Bootloader,还有复习,感觉有收获的,
- C++-Primer-第七章类:补充C++类相关知识点。
- Android基础-运用多媒体:这波主要是通知相关内容,书上代码有点老旧,不适合新android系统,自己写了个新android的demo.
2020.12.04,一个Buu逆向,课超多的一天,对了波计网,洗澡收拾一下自己。
- [buu-re] 做了1个Exe的re。
- 计算机网络-数据链路层:今天数据链路层重点研究了其协议相关的三个基本问题:封装成帧,透明传输,差错检测(CRC校验是重点)。
2020.12.05,补充ucore,然后就是无聊的杂事了。
- Ucore-Lab1基础补充:复习ing.
2020.12.06,开会。
- 周会交流
2020.12.07,buu-re,一个CTF。
- [buu-re] 做了1个Exe的re。这个得到的经验就是有时候ida分析错误,然后加载到OD里面可以汇编比对一下,看看是哪里出错了。
- [CTF] 打了一场CTF。
2020.12.08,buu-re,C++类,搞了搞计网算法。
- [buu-re] 做了1个Exe的re。
- C++-Primer-第七章类:补充C++,C++STL一定要冲起来。
2020.12.09,buu-re,C++类,
- [buu-re] 做了2个Exe的re,游戏逆向。
- C++-Primer-第七章类:补充C++,C++STL一定要冲起来。
2020.12.10,CVE-2019-9213
- CVE-2019-9213:分析完了poc和漏洞原理,差点exp的分析,不过总算是学到了点东西。
2020.12.11,CVE-2019-9213,周五一如既往的水课多,算是放松了吧。
- CVE-2019-9213:调试总结了一下。
2020.12.12,英语四六级,定制的隐形眼镜到手啦,晚上复习了下计网,迎战期末考。
- 英语四六级考试
- 学会了隐形眼镜怎么用,u1s1隐形眼镜舒适多了,看的还清楚。
- 计算机网络,这次用书本复习的,没有电子笔记啦。
2020.12.13,建立了个逆向工程的仓库,总结了一点基础,看完了别人写的Lab1知识总结,感觉学到了,搞了搞Android的web应用,复习计算机网络,迎战期末考。
- 计算机网络:复习。
- ReverseEngineering:ReverseEngineering。
- Android-网络技术:Android Webview。
2020.12.14,看完了哪一篇反调试,感觉作者把有用的省略了不少,代码都是简单代码,这样就很没意思,学习英语,搞懂了BIOS如何探测物理内存,Android搞了Web技术,最后就是计网数据链路层终于完结了。
- 英语每天都要学
- 计算机网络:数据链路层终于完了。
- ReverseEngineering:ReverseEngineering。
- Android-网络技术:Android Webview,还是挺有意思的。
2020.12.15,上午搞了英语和Buu-re就上课了,下午收拾自己和寝室,把一个程序员变成一个人,晚上搞了Android和计算机网络-网络层。
- 英语每天都要学
- buu-re
- 计算机网络:网络层开始啦。
- Android-网络技术:Android 使用OkHttp库。
2020.12.16,上午搞了英语和Buu-re,下午操作系统课,晚上就把手给烫伤了,疼的一晚上没睡好。
- 英语每天都要学
- buu-re
2020.12.17,手烫伤也没睡好,就睡了快一天,呜呜呜
- 养伤
2020.12.18,举办校赛,忙活快一点,复习了一点计网。
- 帮学校举办校赛。
- 计算机网络:网络层。
2020.12.19,运维校赛,学英语,GO逆向计算机网络。
- 帮学校运维校赛。
- Go逆向,学英语。
- 计算机网络:网络层。
2020.12.20,第二届金盾杯,本来之前说不打了,无奈被拉了过来划水,不过表现还算行吧,有一个感悟就是之前逆向没白练,主要是心态平稳,之前做题老是急躁,难以把握细节,现在算是有所改善,学英语。
- 金盾杯。
- 学英语。
2020.12.21,过生日。
- 生日。
2020.12.22,今天因为车牌识别要结课,所以冲了一天,准备了PPT,搞了一场演讲,晚上复习了计网。
- 期末结课冲刺。
- 计算机网络:网络层复习(预习)ing。
2020.12.23,Buu-re , Android 搞了下 XML数据解析和JSON数据解析,复习计算机网络。
- Buu-re。
- Android-网络技术:Android 使用原生库和谷歌开源库解析XML格式和JSON格式数据。
- 计算机网络:网络层复习(预习)ing。
2020.12.24,Buu-re , 开会,听讲座。
- Buu-re。
2020.12.25,复习。
- 复习。
2020.12.26,人工智能作业,计算机网络复习。
- 人工智能作业完成。
- 计算机网络:网络层复习(预习)ing。
2020.12.27-2021.1.16,期末复习+考试+放松。
- 复习。
- 考试终于结束了,放松了三天。
2021.1.18-1.22,入职到星阑的第一周,学到了不少东西,但是有些不便公开就不做记录了。
- 星阑第一周。
2021.2.9,公司放假两天了。
- 内核CVE和Fuzz以及容器,学到了不少东西。
2021.2.27,昨天挖到了人生第一个0day,威力还可以,开心一下。
- 开森。